Кнопка плавающего действия (FAB) — это круглая кнопка, которая запускает основное действие в пользовательском интерфейсе вашего приложения. На этой странице показано, как добавить FAB в макет, настроить его внешний вид и реагировать на нажатия кнопок.
Чтобы узнать больше о том, как спроектировать кнопку плавающего действия в вашем приложении в соответствии с Руководством по дизайну материалов, см. также раздел «Кнопки: кнопка плавающего действия» .
Добавьте кнопку плавающего действия в свой макет
Следующий код показывает, как FloatingActionButton
должен выглядеть в файле макета:
<com.google.android.material.floatingactionbutton.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="end|bottom" android:src="@drawable/ic_my_icon" android:contentDescription="@string/submit" android:layout_margin="16dp" />
По умолчанию FAB окрашен атрибутом colorAccent
, который вы можете настроить с помощью цветовой палитры темы .
Вы можете настроить другие свойства FAB, используя атрибуты XML или соответствующие методы, например следующие:
- Размер FAB, используя атрибут
app:fabSize
или методsetSize()
. - Цвет пульсации FAB с использованием атрибута
app:rippleColor
или методаsetRippleColor()
. - Значок FAB с использованием атрибута
android:src
или методаsetImageDrawable()
.
Реагировать на нажатия кнопок
Затем вы можете применить View.OnClickListener
для обработки нажатий FAB. Например, следующий код отображает Snackbar
, когда пользователь нажимает FAB:
Котлин
val fab: View = findViewById(R.id.fab) fab.setOnClickListener { view -> Snackbar.make(view, "Here's a Snackbar", Snackbar.LENGTH_LONG) .setAction("Action", null) .show() }
Ява
FloatingActionButton fab = findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Snackbar.make(view, "Here's a Snackbar", Snackbar.LENGTH_LONG) .setAction("Action", null).show(); } });
Дополнительную информацию о возможностях FAB см. в справочнике API для FloatingActionButton
.